package net.csdn.business.common.oauth2.service;

import net.csdn.business.common.domain.request.oauth.NewOauthRefreshTokenDTO;
import net.csdn.business.common.domain.request.oauth.OauthRefreshTokenQuery;
import net.csdn.business.common.domain.request.oauth.UpdateOauthRefreshTokenDTO;
import net.csdn.business.common.domain.vo.oauth.OauthRefreshTokenVO;

import java.util.List;

/**
 * refreshToken信息Service接口
 * 
 * @author zhangyl
 * @date 2022-11-08
 */
public interface IOauthRefreshTokenService
{

    /**
     * 根据id查询refreshToken信息详细信息
     * 
     * @param tokenId refreshToken信息主键
     * @return refreshToken信息
     */
    public OauthRefreshTokenVO selectByTokenId(String tokenId);

    /**
     * 查询refreshToken信息列表
     * 
     * @param query refreshToken信息
     * @return refreshToken信息集合
     */
    public List<OauthRefreshTokenVO> selectOauthRefreshTokenList(OauthRefreshTokenQuery query);

    /**
     * 新增refreshToken信息
     * 
     * @param oauthRefreshToken refreshToken信息
     * @return 结果
     */
    public Integer insertOauthRefreshToken(NewOauthRefreshTokenDTO oauthRefreshToken);

    /**
     * 修改refreshToken信息
     * 
     * @param oauthRefreshToken refreshToken信息
     * @return 结果
     */
    public Integer updateOauthRefreshToken(UpdateOauthRefreshTokenDTO oauthRefreshToken);


    /**
     * 删除refreshToken信息信息
     * 
     * @param id refreshToken信息主键
     * @return 结果
     */
    public Integer deleteOauthRefreshTokenById(String id);


    /**
     * 删除refreshToken信息信息
     *
     * @param tokenId refreshToken信息主键
     * @return 结果
     */
    public Integer deleteByTokenId(String tokenId);


    /**
     * 删除refreshToken信息信息
     *
     * @param query refreshToken信息
     * @return 结果
     */
    public Integer deleteRefreshToken(OauthRefreshTokenQuery query);
}
